/**
 * @file extraClock.h
 * @author your name (you@domain.com)
 * @brief 扩展时间和时钟
 * @version 0.1
 * @date 2025-04-30
 *
 * @copyright Copyright (c) 2025
 *
 */
#ifndef EXTRA_CLOCK_H
#define EXTRA_CLOCK_H
#include "xmzTypeDefine.h"
#include "systemType.h"
#define MAKE_DTL(Y, M, D, H, Min, S)                                                                                   \
  (DTL){.YEAR        = (Y),                                                                                            \
        .MONTH       = (M),                                                                                            \
        .DAY         = (D),                                                                                            \
        .WEEKDAY     = 1,                                                                                              \
        .HOUR        = (H),                                                                                            \
        .MINUTE      = (Min),                                                                                          \
        .SECOND      = (S),                                                                                            \
        .MILLISECOND = 0}
/**
 * @brief 校验DTL是否合法
 *
 * @param en
 * @return Bool
 */
Bool validate_DTL(const DTL* en);
/**
 * @brief 写系统时间
 *
 * @param en
 * @param in DTL
 * @param ret_val //TODO 系统时间错误码
 * @return Bool
 */
Bool WR_SYS_T(Bool en, const DTL* in, Int* ret_val);

/**
 * @brief 读系统时间
 *
 * @param en
 * @param out DTL
 * @param ret_val //TODO 系统时间错误码
 * @return Bool
 */
Bool RD_SYS_T(Bool en, DTL* out, Int* ret_val);
#endif
